
class MyThread extends Thread{
    public void run() {                 // run()在Thread中存在。此处重写了run()方法
        while (true) {
                                        //描述了run()要干啥任务
            System.out.println("hello thread");
            try {
                Thread.sleep(1000);    //下划线，受查异常
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
public class Main {
    public static void main(String[] args) {
        Thread t = new MyThread();
        t.start();
        // t.start() 调用thread中的方法，此处run()发生了重写。所有调用上述的run()方法
        // 调用系统提供的创建线程API，在内核创建对应的pcb，并把ocb加入到链表中，进一步的系统调度到这个线程之后就会执行上述run()反方中的逻辑

        while (true){

            System.out.println("hello main");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}